package com.BaoHua.demo.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.BaoHua.demo.webservice.weather.ArrayOfString;
import com.BaoHua.demo.webservice.weather.GetSupportDataSetResponse.GetSupportDataSetResult;
import com.BaoHua.demo.webservice.weather.WeatherWebServiceSoap;

/**
 * 天气接口
* @ClassName: WeatherController  
* @author yanfa00027  
* @date 2018年10月17日  
*
 */
@RestController
public class WeatherController {

	@Autowired
	private WeatherWebServiceSoap weather;
	
	/**
	 * 查询本天气预报Web Services支持的国内外城市或地区信息
	* @Title: get_support_city  
	* @param @param byProvinceName 输入参数：byProvinceName = 指定的洲或国内的省份，
	* 若为ALL或空则表示返回全部城市；
	* 返回数据：一个一维字符串数组 String()，结构为：城市名称(城市代码)。
	* @param @return    参数  
	* @return ArrayOfString    返回类型  
	* @throws
	 */
	@GetMapping("/weather/get_support_city")
	public ArrayOfString get_support_city(String byProvinceName) {
		return weather.getSupportCity(byProvinceName);
	}
	
	/**
	 * 获得本天气预报Web Services支持的洲、国内外省份和城市信息
	* @Title: get_support_data_set  
	* @param @return    参数  
	* @return GetSupportDataSetResult    返回类型  
	* @throws
	 */
	@GetMapping("/weather/get_support_data_set")
	public GetSupportDataSetResult get_support_data_set() {
		return weather.getSupportDataSet();
	}
	
	/**
	 * 获得本天气预报Web Services支持的洲、国内外省份和城市信息
	* @Title: get_support_province  
	* @param @return    参数  
	* @return ArrayOfString    返回类型  
	* @throws
	 */
	@GetMapping("/weather/get_support_province")
	public ArrayOfString get_support_province() {
		return weather.getSupportProvince();
	}
	
	/**
	 * 根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数
	* @Title: get_weather_by_city_name  
	* @param @param theCityName 输入参数：theCityName = 城市中文名称(国外城市可用英文)或城市代码(不输入默认为上海市)，如：上海 或 58367
	* @param @return    参数  
	* @return ArrayOfString    返回类型  
	* @throws
	 */
	@GetMapping("/weather/get_weather_by_city_name")
	public ArrayOfString get_weather_by_city_name(String theCityName) {
		return weather.getWeatherbyCityName(theCityName);
	}
	
	/**
	 * 根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数（For商业用户）
	* @Title: get_weather_by_city_name_pro  
	* @param @param theCityName 输入参数：theUserID = 商业用户ID
	* @param @return    参数  
	* @return ArrayOfString    返回类型  
	* @throws
	 */
	@Deprecated
	public ArrayOfString get_weather_by_city_name_pro(String theCityName) {
		return weather.getWeatherbyCityNamePro(theCityName, "");
	}
}
